"99 Bottles of Beer" is a traditional song in the United States and Canada. It is popular to sing on long trips, as it has a very repetitive format which is easy to memorize, and can take a long time to sing. In particular the song is frequently sung by children on long bus trips, such as class field trips, or on Scout and/or Girl Guide outings. The song is derived from the English "Ten Green Bottles".
The song's simple lyrics are as follows:[1][2]
Ninety-nine bottles of beer on the wall, Ninety-nine bottles of beer.
Take one down, pass it around, Ninety-eight bottles of beer on the wall.
The same verse is repeated, each time with one fewer bottle. The song is completed when the singer or singers reach zero. The last verse following the last bottle being taken down and passed around is "No more bottles of beer on the wall, no more bottles of beer. Go to the store and buy some more, 99 bottles of beer on the wall."
Contents |
Donald Byrd has collected dozens of variants inspired by mathematical concepts and written by himself and others.[3] (A subset of his collection has been published as Byrd (2010, September).[4]) Byrd argues the collection has pedagogic as well as amusement value. Among his variants are:
Other versions in Byrd's collection involve concepts including geometric progressions, differentials, Euler's identity, complex numbers, summation notation, the Cantor set, the Fibonacci series, and the Continuum Hypothesis, among others.
On an episode of Malcolm in the Middle, on a way to the mathematics competition Macolm's classmates - the Krelboynes - sing a variation of this song stating "the square root of (number) of bottles of beer". Malcolm states to the camera that they are only at the nineties.
The computer scientist Donald Knuth proved that the song has complexity in his in-joke-article The Complexity of Songs.
Computer programs exist to output the lyrics to the song. This is analogous to "Hello World" programs with the addition of loops. As with Hello World, this can be a practice exercise for those studying computer programming, and a demonstration of the differences between programming languages.